// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'EIColeserver.pas' rev: 5.00

#ifndef EIColeserverHPP
#define EIColeserverHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <OleServer.hpp>	// Pascal unit
#include <ComObj.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <ActiveX.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Eicoleserver
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS CEICOleServer;
class PASCALIMPLEMENTATION CEICOleServer : public Oleserver::TOleServer 
{
	typedef Oleserver::TOleServer inherited;
	
protected:
	virtual HRESULT __fastcall GetIDsOfEventNames(const GUID &IID, void * Names, int NameCount, int LocaleID
		, void * DispIDs) = 0 ;
	
public:
	__fastcall virtual CEICOleServer(Classes::TComponent* AOwner);
	__property ServerData ;
public:
	#pragma option push -w-inl
	/* TOleServer.Destroy */ inline __fastcall virtual ~CEICOleServer(void) { }
	#pragma option pop
	
};


class DELPHICLASS CEICServerEventDispatch;
class PASCALIMPLEMENTATION CEICServerEventDispatch : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	CEICOleServer* FServer;
	int InternalRefCount;
	
protected:
	HRESULT __stdcall QueryInterface(const GUID &IID, /* out */ void *Obj);
	int __stdcall _AddRef(void);
	int __stdcall _Release(void);
	HRESULT __stdcall GetTypeInfoCount(/* out */ int &Count);
	HRESULT __stdcall GetTypeInfo(int Index, int LocaleID, /* out */ void *TypeInfo);
	HRESULT __stdcall GetIDsOfNames(const GUID &IID, void * Names, int NameCount, int LocaleID, void * 
		DispIDs);
	HRESULT __stdcall Invoke(int DispID, const GUID &IID, int LocaleID, Word Flags, void *Params, void * 
		VarResult, void * ExcepInfo, void * ArgErr);
	__property CEICOleServer* Server = {read=FServer};
	bool __fastcall ServerDisconnect(void);
	
public:
	__fastcall CEICServerEventDispatch(CEICOleServer* Server);
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~CEICServerEventDispatch(void) { }
	#pragma option pop
	
private:
	void *__IDispatch;	/* IDispatch */
	
public:
	operator IDispatch*(void) { return (IDispatch*)&__IDispatch; }
	operator IUnknown*(void) { return (IUnknown*)&__IDispatch; }
	
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Eicoleserver */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Eicoleserver;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// EIColeserver
